#pragma once

class ITimerObserver
{
public:
	virtual ~ITimerObserver(){}
	virtual void Finished() = 0;
};

class CTimer
{
public:
	CTimer(unsigned int aTime);
	virtual ~CTimer(void);

	void Update(unsigned int aTime);
	void Wait(unsigned int aMilliSec, ITimerObserver* aObserver);
	void RemoveObserver();

private:
	unsigned int iTime;
	unsigned int iWaitTime;
	ITimerObserver* iObserver;
};
